extends Node3D
#ps： 这个脚本其实也可以挂在Entities的子节点中，作为“移动的旋转轴”

@onready var level_root = get_owner()
#控制范围（广度、厚度，以及方向）
@export_enum("x+:0","x-:1","y+:2","y-:3","z+:4","z-:5") var rotate_axis:int:
	set(value):
		rotate_axis = value
		match value:
			0:
				axis = Vector3i(1,0,0)
			1:
				axis = Vector3i(-1,0,0)
			2:
				axis = Vector3i(0,1,0)
			3:
				axis = Vector3i(0,-1,0)
			4:
				axis = Vector3i(0,0,1)
			5:
				axis = Vector3i(0,0,-1)
var axis:Vector3i = Vector3i(1,0,0) # 由于标准使用只能用特定值，所以用上面这个变量辅助设定了

func rotate_part():
	#右手螺旋法则式旋转
	level_root.rotate_level(AABB(global_position, global_basis * $End.position).abs(),axis) 
	# AABB可以直接abs取正，还是很方便的
	#global_position这样才可以不必作为level的子节点
	
	# gridmap中的方块操作函数基本上都是相对位置的样子？
